package com.zcsy.manage.service.mall;

import java.util.List;

import com.zcsy.manage.model.mall.CategoryAttr;
import com.zcsy.manage.model.mall.CategoryAttrValue;

public interface ICategoryAttrService {


	/**
	 * @Description 插入分类属性信息<br>
	 * 
	 * @param attr 分类属性对象
	 * @return 1:成功 0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月13日
	 * @see 
	 */
	int insert(CategoryAttr attr);
	
	/**
	 * @Description 更新分类属性信息<br>
	 * 
	 * @param attr 分类属性对象
	 * @return 1:成功 0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月13日
	 * @see 
	 */
	int update(CategoryAttr attr);
	
	/**
	 * @Description 根据主键id获取分类属性信息<br>
	 * 
	 * @param id 主键id
	 * @return 分类属性对象
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月13日
	 * @see 
	 */
	CategoryAttr selectCategoryAttrById(String id);
	
	/**
	 * @Description 根据主键id删除分类属性信息<br>
	 * 
	 * @param id 主键id
	 * @return 1:成功 0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月13日
	 * @see 
	 */
	int deleteByPrimaryKey(String id);
	
	/**
	 * @Description 根据商品分类id得到分类属性集合<br>
	 * 
	 * @param categoryId 商品分类id
	 * @return 
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月13日
	 * @see 
	 */
	List<CategoryAttr> selectByCategoryId(String categoryId);
	
	
	/**
	 * @Description 根据属性id获取属性值列表<br>
	 * 
	 * @param attrId 属性id
	 * @return 商品属性值列表
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月18日
	 * @see 
	 */
	List<CategoryAttrValue> selectByAttrId(String attrId);
	
	/**
	 * @Description 插入商品属性值<br>
	 * 
	 * @param attrValue 商品属性值对象
	 * @return 1：成功  0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月18日
	 * @see 
	 */
	int insertAttrValue(CategoryAttrValue attrValue);
	
	/**
	 * @Description 更新商品属性值<br>
	 * 
	 * @param attrValue 商品属性值对象
	 * @return 1：成功  0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月18日
	 * @see 
	 */
	int updateAttrValue(CategoryAttrValue attrValue);
	
	/**
	 * @Description 根据属性值主键id删除属性值<br>
	 * 
	 * @param attrValueId 属性值主键id
	 * @return 1：成功 0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月18日
	 * @see 
	 */
	int deleteValueByprimaryKey(String attrValueId);
	
	/**
	 * @Description  根据属性id批量删除属性值<br>
	 * 
	 * @param attrId 属性id
	 * @return 
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月18日
	 * @see 
	 */
	int deleteValueByAttrId(String attrId);
}
